﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class Admin_EditCustomer : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!(Roles.IsUserInRole("Admin")))
        {
            Response.Redirect("~/Admin/login.aspx");
        }

         if (Request.Form["act"] == null)
            {
                Session["MessageEdit"] = "success";
                string act = "";
                int page = 1;
                int objId = 0;
                if (Request.QueryString["act"] != null)
                    act = Request.QueryString["act"].ToString();
                if (Request.QueryString["id"] != null)
                    objId = Convert.ToInt32(Request.QueryString["id"].ToString());
                if (Request.QueryString["Page"] != null)
                    page = Convert.ToInt32(Request.QueryString["Page"].ToString());

                if (act == "" || objId <= 0) Response.Redirect("CustomerManager.aspx?Page="+page);
                NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
                KhachHang objInfo = new KhachHang();
                if (act != "" && objId > 0)
                {
                    if (act == "view")
                    {
                        TenKhachHangTextBox.Enabled = false;
                        CMNDTextBox.Enabled = false;
                        NgaySinhTextBox.Enabled = false;
                        DiaChiTextBox.Enabled = false;
                        DiaChiThuHaiTextBox.Enabled = false;
                        SoDienThoaiTextBox.Enabled = false;
                        DienThoaiCoDinhTextBox.Enabled = false;
                        btnCapNhat.Visible = false;
                        NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.information,"Thông tin chi tiết");

                    }

                    if ((from kh in db.KhachHangs
                         where kh.MaKhachHang.Equals(objId)
                         select kh).Count() > 0)
                    {
                        objInfo = (from kh in db.KhachHangs
                                  where kh.MaKhachHang.Equals(objId)
                                  select kh).Single();
                        MaKhachHangLabel.Text = objInfo.MaKhachHang.ToString();
                        if (objInfo.TenKhachHang != null)
                            TenKhachHangTextBox.Text = objInfo.TenKhachHang;
                        else
                            TenKhachHangTextBox.Text = "";

                        if (objInfo.CMND != null)
                             CMNDTextBox.Text = objInfo.CMND;
                        else
                            CMNDTextBox.Text = "";

                        if (objInfo.NgaySinh != null)
                             NgaySinhTextBox.Text = objInfo.NgaySinh.ToString();
                        else
                            NgaySinhTextBox.Text = "";

                        if (objInfo.DiaChi != null)
                             DiaChiTextBox.Text = objInfo.DiaChi;
                        else
                            DiaChiTextBox.Text = "";

                        if (objInfo.DiaChiThuHai != null)
                             DiaChiThuHaiTextBox.Text = objInfo.DiaChiThuHai;
                        else
                            DiaChiThuHaiTextBox.Text = "";

                        if (objInfo.SoDienThoai != null)
                             SoDienThoaiTextBox.Text = objInfo.SoDienThoai;
                        else
                            SoDienThoaiTextBox.Text = "";

                        if (objInfo.DienThoaiCoDinh != null)
                             DienThoaiCoDinhTextBox.Text = objInfo.DienThoaiCoDinh;
                        else
                            DienThoaiCoDinhTextBox.Text = "";
                    }
                }
            }
            else {
                if (InValidateForm() == false && Request.Form["act"] != null)
                {
                    NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
                    var khQuery = (from kh in db.KhachHangs
                                   where kh.MaKhachHang.Equals(MaKhachHangLabel.Text.Trim())
                                   select kh).Single();

                    khQuery.TenKhachHang = TenKhachHangTextBox.Text.Trim();
                    khQuery.CMND = CMNDTextBox.Text.Trim();
                    khQuery.NgaySinh = Convert.ToDateTime(NgaySinhTextBox.Text.Trim());
                    khQuery.DiaChi = DiaChiTextBox.Text.Trim();
                    khQuery.DiaChiThuHai = DiaChiThuHaiTextBox.Text.Trim();
                    khQuery.SoDienThoai = SoDienThoaiTextBox.Text.Trim();
                    khQuery.DienThoaiCoDinh = DienThoaiCoDinhTextBox.Text.Trim();
                    db.SubmitChanges();
                    
                    NotificationMessage.InnerHtml =NotificationHelper.SetNotification(NotificationHelper.Notification.success,string.Format("Thông tin khách hàng <strong>{0}</strong> đã được cập nhật thành công.", khQuery.TenKhachHang));
                   
                }      
            }
           
     
    }

    public bool InValidateForm()
    {
        bool error = false;

        if (MaKhachHangLabel.Text.Trim() == "")
            error = true;
        if (TenKhachHangTextBox.Text == "")
        {
            TenKhachHangTextBox.Focus();
            ErrorTenKhachHangTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorTenKhachHangTextBox.InnerHtml = "";



        if (CMNDTextBox.Text == "")
        {
            CMNDTextBox.Focus();
            ErrorCMNDTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorCMNDTextBox.InnerHtml = "";

        if (NgaySinhTextBox.Text == "")
        {
            NgaySinhTextBox.Focus();
            ErrorNgaySinhTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
        {
            DateTime ngaysinh=new DateTime();
            bool ns = DateTime.TryParse(NgaySinhTextBox.Text, out ngaysinh);
            if (ns)
            {
                ErrorNgaySinhTextBox.InnerHtml = "";
                error = false;
                if (DateTime.Now.Year - ngaysinh.Year < 18)
                {
                    error = true;
                    ErrorNgaySinhTextBox.InnerHtml = "Khách hàng phải từ 18 tuổi trở lên.";
                }
            }
            else
            {
                error = true;
                ErrorNgaySinhTextBox.InnerHtml = "Ngày sinh không hợp lệ.";
            }
        }
        if (DiaChiTextBox.Text == "")
        {
            DiaChiTextBox.Focus();
            ErrorDiaChiTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorDiaChiTextBox.InnerHtml = "";


        if (SoDienThoaiTextBox.Text == "")
        {
            SoDienThoaiTextBox.Focus();
            ErrorSoDienThoaiTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorSoDienThoaiTextBox.InnerHtml = "";

        if (error)
            NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.error, "Bạn hãy kiểm tra lại các thông tin lỗi.");

        return error;
    }

    
}